Specifications , Refinements , and Atomic Registers
نویسنده
چکیده
Sequential programs and algorithms are usually specified by means of preconditions and postconditions. This is not possible for concurrent and reactive programs, since their behaviour during execution is more interesting than their final states, even when termination is desirable. There are two schools in the way behaviours of concurrent and reactive programs are described. In the process algebra school of Milner [Mil80] and Hoare [Hoa85], the behaviours are characterized as sequences of transitions. This is good for communication protocols, but less well-suited for algorithms with complicated states and state transitions. In this note, we follow the school of Abadi, Lamport [AL91,Lam94], Manna and Pnueli [MP92,MP95], in which behaviours are characterized as (infinite) sequences of states. The idea of refinement calculus is to treat specifications, algorithms and programs under the same heading, viz. as specifications of behaviours, the main difference being that programs are closer to executable code than general specifications. Since the whole state contains variables that are not interesting for the specification, we have to be explicit about the variables relevant for the specification. These are called the visible variables. The combination of all visible variables is the visible state. In this way, we also get visible behaviours: infinite sequences of visible states. One specification implements another if and only if all visible behaviours of the first specification are also visible behaviours of the second specification. Although they may change roles, we refer to the implementing specification as the concrete one, and to the implemented specification as the abstract one. Arguing about behaviours of a given specification is very inconvenient and error prone. This is the reason that methods have been developed to prove implementation relations, in which consideration of the behaviours is eliminated as much as possible. These methods are based on concepts like invariants and simulation. In Section 2, we define specifications and their sets of (visible) behaviours.
منابع مشابه
ReLoC: A Mechanised Relational Logic for Fine-Grained Concurrency
We present ReLoC: a logic for proving refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of our logic is a judgement e ≾ e ′ : τ , which expresses that a program e refines a program e ′ at type τ . In contrast to earlier work on refinements for languages with higher-order state and concurrency, ReLoC provides typea...
متن کاملEfficient Atomic Snapshots U sing Lattice Agreement ( Preliminary
The snapshot object is an important tool for constructing wait-free asynchronous algorithms. We relate the snapshot object to the lattice agreement decision problem. It is shown that any algorithm for solving lattice agreement can be transformed into an implementation of a snapshot object. The overhead cost of this transformation is only a linear number of operations on atomic single-writer mul...
متن کاملTimed Modal Specification - Theory and Tools
In this paper we present the theory of Timed Modal Specifications (TMS) together with its implementation, the tool Epsilon. TMS and Epsilon are timed extensions of respectively Modal Specifications [Lar90, LT88] and the Tav system [GLZ89, BLS92]. The theory of TMS is an extension of real–timed process calculi with the specific aim of allowing loose or partial specifications. Looseness of specif...
متن کاملRefinement of Swedish administrative registers to monitor stroke events on the national level.
BACKGROUND Routinely collected databases are kept for administrative purposes. We have refined the analyses of the Swedish National Patient Register and the Cause of Death Register and explored their validity to monitor stroke at the population level. METHODS First-ever strokes (incident cases) and all stroke events were measured by combining the two administrative registers and adding refine...
متن کاملRigorous Design of moving Sequencer Omission Tolerant Atomic Broadcast
This article investigates a mechanism to tolerate omission failure in moving sequencer based atomic broadcast at distributed systems. Various mechanisms are already given for moving sequencer based atomic broadcast like RMP [1], DTP [2], Pin Wheel [3] and mechanism proposed by [4]. But none of these mechanisms are efficient to tolerate different failure. Scholarly observation is that, these alg...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006